package com.itheima.d2_thread_api;

/*
    多线程的创建方式一：继承Thread类

    实现步骤
        1 定义一个子类MyThread继承线程类java.lang.Thread，重写run()方法
        2 创建MyThread类的对象
        3 调用线程对象的start()方法启动线程（启动后还是执行run方法的）

    方式一优缺点：
        优点：编码简单
        缺点：线程类已经继承Thread，无法继承其他类，不利于功能的扩展。
 */

/**
 * sleep()不会停止当前线程 只是让当前线程变得迟钝了
 *
 * join()是必须等到jjoin的线程结束后，后面的线程才可以执行
 */
public class ThreadDemo1 {
    public static void main(String[] args) throws InterruptedException {
        MyThread myThread=new MyThread();
        myThread.setName("kunkun");

        myThread.start();
        myThread.join();

        MyThread1 myThread1=new MyThread1("大坤坤");
        myThread1.start();







    }

}
class MyThread extends Thread{
    @Override
    public void run() {
        System.out.println(getName()+"线程执行了");
        for (int i = 10; i >=0; i--) {
            try {
                sleep(1000);
            } catch (InterruptedException e) {
                throw new RuntimeException(e);
            }
            System.out.println(i);
        }
    }
}

class MyThread1 extends Thread{
    public MyThread1(String name){
        super(name);
    }
    @Override
    public void run() {
        System.out.println(getName()+"线程执行了");
    }
}




